
#ifndef _BSP_LCD_H
#define _BSP_LCD_H

#ifdef __cplusplus
extern "C" {
#endif

#define BSP_LCD_RST_PORT                     GPIOC
#define BSP_LCD_RST_PIN                      GPIO_PIN_15
#define BSP_LCD_RST_CLKENABLE()              __HAL_RCC_GPIOC_CLK_ENABLE()
#define BSP_LCD_RST_FUN                      GPIO_AF_MODE_0


#define BSP_LCD_SCLK_PORT                    GPIOB
#define BSP_LCD_SCLK_PIN                     GPIO_PIN_3
#define BSP_LCD_SCLK_CLKENABLE()             __HAL_RCC_GPIOB_CLK_ENABLE()
#define BSP_LCD_SCLK_FUN                     GPIO_AF_MODE_0



#define BSP_LCD_CS_PORT                     GPIOB
#define BSP_LCD_CS_PIN                      GPIO_PIN_6
#define BSP_LCD_CS_CLKENABLE()              __HAL_RCC_GPIOB_CLK_ENABLE()
#define BSP_LCD_CS_FUN                      GPIO_AF_MODE_0



#define BSP_LCD_SDA_PORT                     GPIOC
#define BSP_LCD_SDA_PIN                      GPIO_PIN_14
#define BSP_LCD_SDA_CLKENABLE()              __HAL_RCC_GPIOC_CLK_ENABLE()
#define BSP_LCD_SDA_FUN                      GPIO_AF_MODE_0


#define BSP_LCD_AO_PORT                     GPIOB
#define BSP_LCD_AO_PIN                      GPIO_PIN_7
#define BSP_LCD_AO_CLKENABLE()              __HAL_RCC_GPIOB_CLK_ENABLE()
#define BSP_LCD_AO_FUN                      GPIO_AF_MODE_0


#define BSP_LCD_BL_TIMBASE                                        TIM2A
#define BSP_LCD_BL_TIMBASE_NAME                                   "TIM2A"
#define BSP_LCD_BL_TIMBASE_IRQn                                   TIM2A_IRQn
#define BSP_LCD_BL_TIMBASE_IRQHandler                             TIM2A_IRQHandler
#define BSP_LCD_BL_TIMBASE_CLK_ENABLE()                           __HAL_RCC_TIM2A_CLK_ENABLE()

#define BSP_LCD_BL_PORT                     GPIOA
#define BSP_LCD_BL_PIN                      GPIO_PIN_15
#define BSP_LCD_BL_CLKENABLE()              __HAL_RCC_GPIOA_CLK_ENABLE()
#define BSP_LCD_BL_FUN                      GPIO_AF_MODE_7
#define BSP_LCD_BL_CHANNEL                  TIM_CHANNEL_2




#ifdef __cplusplus
}
#endif
void bsp_lcd_init(void);
void bsp_lcd_resetenable(void);
void bsp_lcd_resetdisable(void);
void bsp_lcd_cmdwrite(uint8_t command);
void bsp_lcd_datawrite(uint8_t command);
void bsp_lcd_columnset(uint8_t column);
void bsp_lcd_pageset(uint8_t page);
void bsp_lcd_addset(uint8_t column, uint8_t page);
void bsp_lcd_bl_open(void);
void bsp_lcd_bl_close(void);
void bsp_lcd_bl_level(uint8_t level);
#endif /* __ZB32L03x_STARTERKIT_H */


